Added reference counting to animations. A web browser may want to share a
authorFederico Mena Quintero <federico@helixcode.com>
Sun, 2 Jan 2000 03:59:22 +0000 (03:59 +0000)
committerArturo Espinosa <unammx@src.gnome.org>
Sun, 2 Jan 2000 03:59:22 +0000 (03:59 +0000)
commit6e3522ab2c44c90da28d1064a2f56c3a7184f749
treed240b6f7fd3baf8229fb1d9202b09fccb43786e2
parent605c562ffb42dd00f5d67bca8776953ea6dde78d
Added reference counting to animations. A web browser may want to share a

2000-01-01  Federico Mena Quintero  <federico@helixcode.com>

* gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
counting to animations.  A web browser may want to share a single
copy of an animated GIF if it appears multiple times in a web
page, for example.

* gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
animation functions here.
(gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
animation if the loader does not support multiframe loading and
the single-frame load returned NULL.  Check that the filename is
not NULL.  Updated inline documentation.
(gdk_pixbuf_animation_ref): New function.
(gdk_pixbuf_animation_unref): New function.
Removed gdk_pixbuf_animation_destroy() in favor of reference
counting.

* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
Prettified.  Made ref_count assertion more paranoid.  Check that
the filename is not NULL.
(gdk_pixbuf_get_module): Use guchar * and guint for buffer and
size, respectively.
(gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
const char **.

* gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
with a reference count of 1.

* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
gdk-pixbuf-animation.c.

* doc/tmpl/animation.sgml: Populated.  It is still missing a
description of the overlay modes.

* doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
the canvas item section to the end, as it will be moved later to
gnome-libs.

* doc/gdk-pixbuf.sgml: Added the animation section.

* doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
22 files changed:
docs/reference/gdk-pixbuf/Makefile.am
docs/reference/gdk-pixbuf/gdk-pixbuf-decl.txt
docs/reference/gdk-pixbuf/gdk-pixbuf-sections.txt
docs/reference/gdk-pixbuf/gdk-pixbuf.sgml
docs/reference/gdk-pixbuf/tmpl/animation.sgml [new file with mode: 0644]
docs/reference/gdk-pixbuf/tmpl/from-drawables.sgml
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml
docs/reference/gdk-pixbuf/tmpl/rendering.sgml
docs/reference/gdk-pixbuf/tmpl/util.sgml
gdk-pixbuf/ChangeLog
gdk-pixbuf/Makefile.am
gdk-pixbuf/gdk-pixbuf-animation.c [new file with mode: 0644]
gdk-pixbuf/gdk-pixbuf-io.c
gdk-pixbuf/gdk-pixbuf-io.h
gdk-pixbuf/gdk-pixbuf-loader.c
gdk-pixbuf/gdk-pixbuf-loader.h
gdk-pixbuf/gdk-pixbuf.c
gdk-pixbuf/gdk-pixbuf.h
gdk-pixbuf/io-gif.c
gdk/gdkpixbuf-drawable.c
gtk/gdk-pixbuf-loader.c
gtk/gdk-pixbuf-loader.h